package br.com.controller.util;

import br.com.controller.to.SelectItensTo;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;

/**
 *
 * @author Lindoélio Lázaro
 */

public class ListUtil implements Serializable {
    
    private static final long serialVersionUID = -148241829933985196L;
    
    public static SelectItem[] getLimitesRetorno() {
        List<SelectItensTo> selectItensTO = new ArrayList<SelectItensTo>();
        selectItensTO.add(new SelectItensTo<Integer>(10, "10 registros"));
        selectItensTO.add(new SelectItensTo<Integer>(30, "30 registros"));
        selectItensTO.add(new SelectItensTo<Integer>(50, "50 registros"));
        return getSelectItems(selectItensTO, false);
    }

    public static SelectItem[] getSelectItems(List<SelectItensTo> selectItensTO, boolean selectOne) {
        return getSelectItems(selectItensTO, selectOne, null);
    }

    public static SelectItem[] getSelectItems(List<SelectItensTo> selectItensTO, boolean selectOne, String primeiraOpcao) {
        if (primeiraOpcao == null) {
            primeiraOpcao = "Selecione...";
        }
        int size = selectOne ? selectItensTO.size() + 1 : selectItensTO.size();
        SelectItem[] items = new SelectItem[size];
        int i = 0;
        if (selectOne) {
            items[0] = new SelectItem("", primeiraOpcao);
            i++;
        }
        for (SelectItensTo item : selectItensTO) {
            items[i++] = new SelectItem(item.getObjeto(), item.getLabel());
        }
        return items;
    }
    
}
